A mobile device, such as a smartphone or other type of wireless terminal, is typically equipped with a position determining function such as Global Positioning System (GPS). The position determining function determines the device's location and generates location data that represents the device and its location. The location data generated typically includes a device or user identifier, a latitude, a longitude, and a level of accuracy. The assessed location, or “geolocation,” provided by the position determining function can be used to deliver location-based services to the user of the device.
Social networks such as Foursquare, Google Latitude, and Facebook Places rely on the location data generated by the user's mobile device in order to deliver location-based services to the user. Such services include providing, to the user, recommendations of nearby places, or “venues,” to visit. These location-based services also enable a user to share his location via a “check-in,” which is a virtual announcement that informs the user's social network that the user is visiting a venue.
When a user wants to check in, the user's geolocation is first provided to the social networking service being used. In doing so, the user's mobile device assesses the user's current location (i.e., the device's location) and provides the resulting geolocation to a computer server associated with the social networking service. The server then generates a set of possible check-in venues based on the geolocation. This set of venues is typically based on the proximity of the venues to the user's geolocation—that is, the closer a venue is to the user, the more likely it is to be part of the set of venues generated. The server then transmits the set of possible check-in venues to the user's device, which then presents the possible check-in venues for the user to select from.
FIG. 1 in the prior art depicts an example of how the set of possible check-in venues is presented to a user, though wireless terminal 100. Terminal 100 comprises physical display 101, which is capable of presenting the information conveyed in check-in display mode 102. Check-in display mode 102 comprises map display 103 and venue display 104.
Wireless terminal 100 presents map display 103, comprising the geolocation of user 105, in relation to local geographic information (e.g., streets, buildings, boundaries, etc.) displayed in well-known fashion. Map display 103 further comprises accuracy disk 106, which is a graphical indication derived from the level of accuracy of user 105's geolocation and is displayed in relation to the user's displayed geolocation. Accuracy disk 106 is relatively large when the level of accuracy is low and is relatively small when the level of accuracy is high. Terminal 100 also presents venue display 104, comprising the possible check-in venues that were transmitted to the terminal from the server.
The venues that are presented to the user in venue display 104 represent an assortment of businesses and other establishments that have one factor in common: they are all within a predetermined distance of the geolocation of user 105.
Various problems exist with basing a set of possible check-in venues on their proximity to the user. For example, the geolocation of the user might be grossly inaccurate. This can be attributed to Global Positioning System (GPS) and Assisted GPS (A-GPS) methods of geolocation used by many smartphones and other wireless terminals often having difficulty in providing a reliable geolocation result in city areas. The main reason for this is building heights and building walls preventing a wireless terminal from properly receiving signals from GPS satellites. Reliability problems also exist with some other geolocation methods as well. Because of a faulty geolocation having a relatively low level of accuracy, a service such as a social networking website might consequently generate a set of check-in venues that either are scattered throughout the user's general area or are nowhere near the actual, current location of the user.
What is needed is an improved technique for generating a set of possible check-in venues, without some of the disadvantages in the prior art.